/*
type
Point,LineString,Circle,Polygon 
 Square[type='Circle',geometryFunction]
Box长方形[type='LineString',geometryFunction,maxPoints]
 */
export function createDraw({
  source,
  type = "Point"
}) {
  let draw = null;
  let geometryFunction = null;
  let maxPoints = 0;
  if (type == "Square") {
      type = 'Circle'
      geometryFunction = ol.interaction.Draw.createRegularPolygon(4)
  } else if (
      type == "Box"
  ) {
      type = 'LineString'
      geometryFunction = function (coordinates, geometry) {
          if (!geometry) {
              //多边形
              geometry = new ol.geom.Polygon(null)
          }
          var start = coordinates[0]
          var end = coordinates[1]
          geometry.setCoordinates([
              [start, [start[0], end[1]], end, [end[0], start[1]], start],
          ])
          return geometry
      }
      maxPoints = 2;
  }
  draw = new ol.interaction.Draw({
      type,
      source,
      geometryFunction,
      maxPoints
  })
  return draw;
}